﻿using BloggerAutoPoster.Common.Mvvm;

namespace BloggerAutoPoster.Infrastructure.Models
{
    public class ConfigUi : ViewModelBase
    {
        #region Fields (16)

        string _blogUrl;
        string _feedToParse;
        string _googlePlusUserId;
        bool _isProxyEnabled;
        string _password;
        string _postAt;
        string _proxyServerAddress;
        string _proxyServerPassword;
        int _proxyServerPort;
        string _proxyServerUserName;
        int _readSitesDataIntervalMin;
        bool _runAtStartup;
        string _tag;
        string _title;
        bool _usePersianDate;
        string _userName;

        #endregion Fields

        #region Properties (16)

        public string BlogUrl
        {
            get { return _blogUrl; }
            set
            {
                if (_blogUrl == value) return;
                _blogUrl = value;
                RaisePropertyChanged("BlogUrl");
            }
        }

        public string FeedToParse
        {
            get { return _feedToParse; }
            set
            {
                if (_feedToParse == value) return;
                _feedToParse = value;
                RaisePropertyChanged("FeedToParse");
            }
        }

        public string GooglePlusUserId
        {
            get { return _googlePlusUserId; }
            set
            {
                if (_googlePlusUserId == value) return;
                _googlePlusUserId = value;
                RaisePropertyChanged("GooglePlusUserId");
            }
        }

        public bool IsProxyEnabled
        {
            get { return _isProxyEnabled; }
            set
            {
                if (_isProxyEnabled == value) return;
                _isProxyEnabled = value;
                RaisePropertyChanged("IsProxyEnabled");
            }
        }

        public string Password
        {
            get { return _password; }
            set
            {
                if (_password == value) return;
                _password = value;
                RaisePropertyChanged("Password");
            }
        }

        public string PostAt
        {
            get { return _postAt; }
            set
            {
                if (_postAt == value) return;
                _postAt = value;
                RaisePropertyChanged("PostAt");
            }
        }

        public string ProxyServerAddress
        {
            get { return _proxyServerAddress; }
            set
            {
                if (_proxyServerAddress == value) return;
                _proxyServerAddress = value;
                RaisePropertyChanged("ProxyServerAddress");
            }
        }

        public string ProxyServerPassword
        {
            get { return _proxyServerPassword; }
            set
            {
                if (_proxyServerPassword == value) return;
                _proxyServerPassword = value;
                RaisePropertyChanged("ProxyServerPassword");
            }
        }

        public int ProxyServerPort
        {
            get { return _proxyServerPort; }
            set
            {
                if (_proxyServerPort == value) return;
                _proxyServerPort = value;
                RaisePropertyChanged("ProxyServerPort");
            }
        }

        public string ProxyServerUserName
        {
            get { return _proxyServerUserName; }
            set
            {
                if (_proxyServerUserName == value) return;
                _proxyServerUserName = value;
                RaisePropertyChanged("ProxyServerUserName");
            }
        }

        public int ReadSitesDataIntervalMin
        {
            get { return _readSitesDataIntervalMin; }
            set
            {
                if (_readSitesDataIntervalMin == value) return;
                _readSitesDataIntervalMin = value;
                RaisePropertyChanged("ReadSitesDataIntervalMin");
            }
        }

        public bool RunAtStartup
        {
            get { return _runAtStartup; }
            set
            {
                if (_runAtStartup == value) return;
                _runAtStartup = value;
                RaisePropertyChanged("RunAtStartup");
            }
        }

        public string Tag
        {
            get { return _tag; }
            set
            {
                if (_tag == value) return;
                _tag = value;
                RaisePropertyChanged("Tag");
            }
        }

        public string Title
        {
            get { return _title; }
            set
            {
                if (_title == value) return;
                _title = value;
                RaisePropertyChanged("Title");
            }
        }

        public bool UsePersianDate
        {
            get { return _usePersianDate; }
            set
            {
                if (_usePersianDate == value) return;
                _usePersianDate = value;
                RaisePropertyChanged("UsePersianDate");
            }
        }

        public string UserName
        {
            get { return _userName; }
            set
            {
                if (_userName == value) return;
                _userName = value;
                RaisePropertyChanged("UserName");
            }
        }

        #endregion Properties
    }
}
